Subject: Comments to adcap994

From: [email-masked]
Date: Fri, 7 Oct 94 15:41:14 +0100

Here are some comments to Jeff's new proposal for mapped conversations 
(file adcap994.ps)

Jeff, the document is much better now.
There are some unclear points which need further work.

- p.11: I cannot find any situations in which a CPI-C call does return
	CM_PROGRAM_PARAMETER_CHECK with one of the reasons listed in the
	the secondary return codes 209, 210, 211.
	The only new reason occurs on page 42. So I think we need only
	the following new secondary return code:

	209	The send lenght, calculated by the map routine, specifies
		a value less than 1 or greater than 86.

- p.12: The changes in the state tables are still erroneus. Return code
	values must be written in [].
	- Change {} to [] in the change to page 376.
	- Change {dr,no,mp} to [ok,mp]{dr,no} in the first change to page 377.
	- Change {} to [] in the 3rd change to page 377.
	- Change {} to [] in the changes to page 378, 389, 390.
	- Change {} to [] in the changes to page 389.

- p.12: I do not agree that a return code of CM_UNKNOWN_MAP_NAME in the
	Send_Mapped_Data call should lead to Reset state. As I see the
	philosophy of CPI-C, a calls leads to Reset state only if the 
	underlying transport service closes the logical connection or the
	local or remote program deallocated the conversation.
	I propose to handle the CM_UNKNOWN_MAP_NAME in the same manner
	as the CM_PROGRAM_PARAMETER_CHECK return code in the state table.
	Furthermore the existing solution (mp equal to ae) permits the 
	CM_UNKNOWN_MAP_NAME return code only in Send state. I do not see
	any reason why this return code cannot occur in Send-Pending state. 

- p.43: Delete the line 'Related Information'.

- p.45: The problem on the requested_lenght parameter of the 
	Receive_Mapped_Expedited_Data call is not yet solved.
	I assume that expedited data have access to the LU6.2 map name.
	Otherwise the call would make no sense. But the restriction to
	86 bytes is valid for the data sent on the network, i.e. after
	conversion in the Send_Mapped_Expedited_Data and before conversion
	in the Receive_Mapped_Expeditad_Data call. The send_length in
	the Send_Mapped_Expedited_Data and the requested_length in 
	the Receive_Mapped_Expedited_Data can be longer than 86.
	We should delete the sentence 'This length can range from 0
	to 86 bytes.' on page 45.
	If the length of the converted is bigger than requested_length,
	we have the return_code CM_BUFFER_TOO_SMALL. Jeff's document
	already contains this situation.

- p.51: The description of the status received values is still too short.
	Here is the description from the CIW final document:

       o   CM_TAKE_COMMIT_DATA_OK
           The remote program issued a Prepare call.  For the exact
           conditions for receipt of this status_received value, refer to
           Table 12 and Table 13.  The local program should issue a commit
           call in order to commit all protected resources throughout the
           transaction.  The program is allowed to send data before issuing
           the commit call.  When appropriate, the local program may
           respond by issuing a call other than commit, such as Send_Error
           (for half-duplex conversations only) or a resource recovery
           backout call.
       o   CM_TAKE_COMMIT_SEND_DATA_OK (half-duplex conversations only)
           The remote program issued a Prepare call.  For the exact
           conditions for receipt of this status_received value, refer to
           Table 12 and Table 13.  The local program should issue a commit
           call in order to commit all protected resources throughout the
           transaction.  The program is allowed to send data before issuing
           the commit call.  When appropriate, the local program may
           respond by issuing a call other than commit, such as Send_Error
           or a resource recovery backout call.  If a successful commit
           call is issued, the local program can then send data.
       o   CM_TAKE_COMMIT_DEALLOC_DATA_OK
           The remote program issued a Prepare call.  For the exact
           conditions for receipt of this status_received value, refer to
           Table 12 and Table 13.  The local program should issue a commit
           call in order to commit all protected resources throughout the
           transaction.  The program is allowed to send data before issuing
           the commit call.  The local program may respond by issuing a
           call other than commit when appropriate, such as Send_Error for
           a half-duplex conversation, or a resource recovery backout call.
           If a successful commit call is issued, the local program is then
           deallocated--that is, placed in RESET state.

- p.61: The usage note 10 is still missing. Here is the usage note 10
	from the final CIW document:

     10. The program may receive data and conversation status on the same
         Receive call or on separate Receive calls.  The program should be
         prepared for either case.

Regards
Peter

-----------------------------------------------------------------------------
Peter Binninger                         Voice: (+49) 7531-87-4758
Computer Gesellschaft Konstanz mbH      Fax:   (+49) 7531-87-4888
(Siemens Nixdorf Informationssysteme)   Email: [email-masked]
Max-Stromeyer-Strasse 116
78467 Konstanz
Germany